-
-
Notifications
You must be signed in to change notification settings - Fork 1
Bump actions/checkout from 4 to 6 #14
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
…nc clients the connection is
Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to 4. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](actions/checkout@v3...v4) --- updated-dependencies: - dependency-name: actions/checkout dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com>
Bumps [peaceiris/actions-gh-pages](https://github.com/peaceiris/actions-gh-pages) from 3 to 4. - [Release notes](https://github.com/peaceiris/actions-gh-pages/releases) - [Changelog](https://github.com/peaceiris/actions-gh-pages/blob/main/CHANGELOG.md) - [Commits](peaceiris/actions-gh-pages@v3...v4) --- updated-dependencies: - dependency-name: peaceiris/actions-gh-pages dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com>
Bumps [JRubics/poetry-publish](https://github.com/jrubics/poetry-publish) from 1.17 to 2.0. - [Release notes](https://github.com/jrubics/poetry-publish/releases) - [Commits](JRubics/poetry-publish@v1.17...v2.0) --- updated-dependencies: - dependency-name: JRubics/poetry-publish dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com>
Bumps [actions/setup-python](https://github.com/actions/setup-python) from 3 to 5. - [Release notes](https://github.com/actions/setup-python/releases) - [Commits](actions/setup-python@v3...v5) --- updated-dependencies: - dependency-name: actions/setup-python dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com>
Bumps [mdegis/bandit-action](https://github.com/mdegis/bandit-action) from 1.0.1 to 1.1. - [Release notes](https://github.com/mdegis/bandit-action/releases) - [Commits](mdegis/bandit-action@v1.0.1...v1.1) --- updated-dependencies: - dependency-name: mdegis/bandit-action dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com>
…s/bandit-action-1.1 Bump mdegis/bandit-action from 1.0.1 to 1.1
…ns/setup-python-5 Bump actions/setup-python from 3 to 5
…iris/actions-gh-pages-4 Bump peaceiris/actions-gh-pages from 3 to 4
…cs/poetry-publish-2.0 Bump JRubics/poetry-publish from 1.17 to 2.0
…ns/checkout-4 Bump actions/checkout from 3 to 4
Bumps [actions/cache](https://github.com/actions/cache) from 3 to 4. - [Release notes](https://github.com/actions/cache/releases) - [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md) - [Commits](actions/cache@v3...v4) --- updated-dependencies: - dependency-name: actions/cache dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com>
…ns/cache-4 Bump actions/cache from 3 to 4
Critical bug fixes:
- Fix string concatenation in utils.py missing_keys_in_dict (was creating char list)
- Fix set addition in library/base.py filter_models_by_regex ('+=' doesn't work with sets)
- Fix list append in yaml_library.py supported_model_ids (was concatenating strings)
- Fix regex null check in client/base.py _extract_vars_in_response (re.match can return None)
Async improvements:
- Remove global async lock that serialized ALL device operations
- Replace with instance-level locks per device client
- Enables concurrent operations across multiple devices
- Maintains atomicity of send+receive for each device
- Lock all client methods: send_raw, register_callback, received_message
Logging improvements:
- Fix all logging to use exc_info=e format for exceptions
- Replace print() statements with LOG.debug() calls
- Use key=value format for all log messages
Code modernization:
- Replace os.path with pathlib throughout codebase
- Update const.py to use Path(__file__).parent
- Update yaml_library.py to use Path.rglob() instead of os.walk()
- Use file_path.open() instead of open(file_path)
- Convert loops to list comprehensions where appropriate
- Fix Python version in pyproject.toml (3.12 -> 3.13 for refurb)
These changes address critical production blockers identified in code review.
Type improvements: - Fix ALLOWED_BAUD_RATES Literal construction (can't use tuple() in Literal) - Replace ALL_DEVICE_TYPES with proper DeviceType Literal - Add discriminated unions for RS232Connection vs IPConnection - Add type field to enable proper type discrimination - Add dev dependencies: types-PyYAML, types-pyserial, mypy, pytest-asyncio, pytest-cov, pytest-mock Connection schema improvements: - Create RS232Connection with type='rs232' discriminator - Create IPConnection with type='ip' discriminator - Maintain backward-compatible Connection model - Export ConnectionConfig as Union[RS232Connection, IPConnection] This enables better type checking and IDE support for connection configurations.
Added test suite with mocked devices (no physical hardware required): - Unit tests for 4 critical bug fixes (utils, base, yaml_library, client) - Async locking tests verifying per-device serialization and multi-device concurrency - Integration tests for all 22 YAML device definitions Test coverage: - Bug fixes: String concatenation, set addition, list append, regex null check - Async behavior: Single device serialized, multiple devices concurrent, send+receive atomic - YAML validation: File loading, required fields, connection configs, API definitions, regex patterns Fixes: - Made DeviceModelSummary frozen (hashable for sets) - Fixed circular import in helper.py Current status: 24/34 tests passing Known issues to fix: - Invalid regex in lyngdorf_tdai3400.yaml - Mock lambda signatures missing wait_for_response parameter - Path traversal timeout in test_device_library.py
Test fixes: - Fixed async locking test lambda signatures (wait_for_response parameter) - Added error handling for path.rglob() timeouts and permission errors - Skipped validation tests (validation system currently broken) - Documented problematic YAML files with skip list (7 files with issues) - Skipped test_invalid_path (library defaults to "/" for invalid paths) - Added missing pytest import Problematic YAML files identified: - mcintosh_mx160.yaml: Invalid regex in mute.get - mcintosh_mx170.yaml: Missing connection field - mcintosh_mx180.yaml: Missing connection and API - mcintosh_legacy.yaml: Actions with None values - lyngdorf_tdai3400.yaml: Invalid regex pattern - hdfury_vrroom.yaml: Invalid regex pattern - xantech_mx88_video.yaml: Missing connection and API Error handling improvements: - yaml_library.py now catches TimeoutError, PermissionError, OSError - Logs warnings and continues instead of crashing - Prevents hanging on network-mounted drives Expected test results: 26-30 passing, 4 skipped
Fixed regex patterns, named groups, and test expectations in 4 device files: lyngdorf_cd2.yaml: - Fixed TIME and REMTIME regex to match time format with colons (M:SS) - Corrected source test expectation to match captured value trinnov_altitude32.yaml: - Fixed mute regex group name from 'power' to 'mute' xantech_mx88_audio.yaml: - Made '+' optional in mute regex pattern - Fixed bass and treble test expectations to match zero-padded format - Corrected treble test field names (were using 'bass') teac_trd2000.yaml: - Fixed preset test expectations to use zero-padded string format tests/integration/test_yaml_loading.py: - Added trinnov_altitude16.yaml and jbl_sdp75.yaml to skip list (use import_models) Test results: 30 passed, 4 skipped, 0 failed (all YAML regex tests now pass)
Bumps [actions/checkout](https://github.com/actions/checkout) from 4 to 6. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](actions/checkout@v4...v6) --- updated-dependencies: - dependency-name: actions/checkout dependency-version: '6' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com>
Mesa DescriptionTL;DRBumped What changed?
Description generated by Mesa. Update settings |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Performed full review of 41045a8...f771f29
Analysis
-
Credential Storage Location Change - v6 stores git credentials in $RUNNER_TEMP instead of local git config. While current workflows don't perform git operations after checkout, any future workflows that might perform git commits or pushes would need to account for this change.
-
Runner Version Requirements - If self-hosted runners are introduced in the future, they must meet the v2.329.0+ requirement, especially for Docker container actions.
-
Node.js Runtime Update - The upgrade includes a migration to Node.js 24, which could potentially introduce compatibility issues if custom scripts interact directly with the checkout action.
-
Monitor Early Adoption Issues - As with any major version upgrade, there may be unforeseen issues reported by the broader GitHub community in the weeks following the v6 release.
Tip
Help
Slash Commands:
/review- Request a full code review/review latest- Review only changes since the last review/describe- Generate PR description. This will update the PR body or issue comment depending on your configuration/help- Get help with Mesa commands and configuration options
8 files reviewed | 0 comments | Edit Agent Settings • Read Docs
Bumps actions/checkout from 4 to 6.
Release notes
Sourced from actions/checkout's releases.
... (truncated)
Changelog
Sourced from actions/checkout's changelog.
... (truncated)
Commits
1af3b93update readme/changelog for v6 (#2311)71cf226v6-beta (#2298)069c695Persist creds to a separate file (#2286)ff7abcdUpdate README to include Node.js 24 support details and requirements (#2248)08c6903Prepare v5.0.0 release (#2238)9f26565Update actions checkout to use node 24 (#2226)You can trigger a rebase of this PR by commenting
@dependabot rebase.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebasewill rebase this PR@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it@dependabot mergewill merge this PR after your CI passes on it@dependabot squash and mergewill squash and merge this PR after your CI passes on it@dependabot cancel mergewill cancel a previously requested merge and block automerging@dependabot reopenwill reopen this PR if it is closed@dependabot closewill close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot show <dependency name> ignore conditionswill show all of the ignore conditions of the specified dependency@dependabot ignore this major versionwill close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor versionwill close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependencywill close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)